This invention pertains to the field of computer graphical user interfaces, and more particularly to a graphical user interface that informs a user of the progress of a data search by providing the user with the greater of either the progress of a search of a data repository or the progress of filling a display repository, and which is dynamically updated to reflect the greater progress of the two.
The amount of information available on a computer can sometimes be vast and overwhelming, making the task of just interpreting the information a major hurdle to overcome. Perhaps one of the most valuable tools a user can have in this respect is a tool that filters information for the user""s ease of use and interpretation. A filtering tool could search through a buffer for pertinent data. The data can then be displayed in one-page increments to allow the user to interpret a subset of the pertinent data, where the actual search would temporarily halt when a page of data is acquired for display in a display repository.
It is also beneficial to provide a user with statistical information about the filtering process to keep the user informed of the progress of the search. A progress indicator could show a user a variable that represents, for example, the percentage of the data repository that has been searched. However, this variable alone does not give the user any indication that pertinent data is being found, even though the display repository could be accumulating data for display in one-page increments. Take, for example, a search inquiry where the percentage of a data repository searched variable sits at 30% and the percentage of display repository filled variable sits at 80%. A user would only see that 30% of the data repository has been searched, but realistically, the display repository almost has an entire page of display (80%). In this type of scenario, valuable time and effort could be wasted because a user might ultimately cancel the search inquiry out of impatience and frustration.
One solution is to show a user a progress indicator that represents, for example, the percentage of the display repository that has been filled. This solution has the advantage of letting the user know that some display data is forthcoming, regardless of how much is left to search of the data repository. As in the previous example, say that the percentage of data repository searched variable sits at 30% and the percentage of display repository filled sits at 80%. This time, a user would see that the display repository already has almost an entire page of display (80%), rather than only 30% of the data repository searched. In this scenario, the user would probably be willing to wait around for the remaining 20% of the display repository to get filled before the information gets displayed. A problem with this, however, is that if there is not a full page of data to display, the search will continue through the entire data repository. In the meantime, the percentage of display repository filled variable (i.e. 80%) can remain unchanged and the user is left with no indication as to whether the search is still in progress or if a computer error/failure has caused the search inquiry to stop.
Another solution is to provide a user with both variables, where the display repository filled variable lets the user know that display information is forthcoming, and the data repository searched variable informs the user that the search is still in progress. One drawback to this solution, however, is that it can be very confusing to the user where the progress indicator can continuously change and the user must weigh two variables against each other for a meaningful interpretation of the search status. A need exists, therefore, for a progress indicator that is:
adaptive, or continuously updated, both to the progress of a search of a data repository and to the progress of filling a display repository; and
presented to a user in a simple and meaningful manner.
In a preferred embodiment of the present invention, the adaptive progress indicator displays the greater progress between a first variable that represents the progress of a search of a data repository and a second variable that represents the progress of filling a display repository. The greater progress between these two variables can be a maximum value as well as a minimum value. For instance, if the progress of a search of a data repository is measured by the number of kilobytes left to search the data repository, and the progress of filling a display repository is measured by the number of kilobytes needed to fill the display repository, then progress is made when the variables decrease. Therefore, the greater progress between the two variables is the minimum value between the two variables. Likewise, if the progress of a search of a data repository is measured by the number of kilobytes of data repository already searched, and the progress of filling a display repository is measured by the number of kilobytes of display repository already filled, then progress is made when the two variables increase, and the greater progress between the two variables is the maximum value between the two variables.
The variables can be expressed in terms of percentages, time elapsed, or time remaining, for example. In a search inquiry where the variables are expressed in terms of percentages, and progress of a search of a data repository is measured by the percentage of data repository searched, and progress of filling a display repository is measured by the percentage of display repository filled, the adaptive progress indicator displays a value that represents the maximum value between two variables that represent the progress of the two tasks, respectively.
The advantages of this invention can be explained with a simple example. Suppose that during a search inquiry, the percentage of data repository searched variable sits at 30%, and the percentage of display repository filled variable sits at 80%. The adaptive progress indicator will inform the user that 80% of the display repository has been filled. If no additional display data is found while the search continues through the data repository, the adaptive progress indicator will eventually change to reflect the percentage of data repository searched when this variable exceeds 80%. If the display data increases while the search continues through the data repository, the adaptive progress indicator will not change to reflect the percentage of data repository searched until and unless this variable exceeds the percentage of display repository filled variable. As a result, the user is continuously updated with just enough statistical information about the search to keep the user informed that progress is being made, without being overwhelmed and overburdened with constantly changing variables on the display.
The invention may also comprise an adaptive progress indicator that displays one of multiple variables that represent the progress of multiple tasks in a computer operation based upon at least one predetermined performance criterion.
These and other important advantages and objectives of the present invention will be further explained in, or will become apparent from, the accompanying description, drawings and claims.